remove exit(1)
diff --git a/readme.md b/readme.md
index 2265135..93ea58f 100644
--- a/readme.md
+++ b/readme.md
@@ -1,5 +1,5 @@
 
-# Xbyak 5.82 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
+# Xbyak 5.83 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
 
 ## Abstract
 
@@ -392,6 +392,7 @@
 http://opensource.org/licenses/BSD-3-Clause
 
 ## History
+* 2019/Oct/12 ver 5.83 exit(1) was removed
 * 2019/Sep/23 ver 5.82 support monitorx, mwaitx, clzero (thanks to @MagurosanTeam)
 * 2019/Sep/14 ver 5.81 support some generic mnemonics.
 * 2019/Aug/01 ver 5.802 fix detection of AVX512_BF16 (thanks to vpirogov)
diff --git a/readme.txt b/readme.txt
index 0fc1e6e..ee4d942 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
 

-    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.82

+    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.83

 

 -----------------------------------------------------------------------------

 ◎概要

@@ -373,6 +373,7 @@
 -----------------------------------------------------------------------------

 ◎履歴

 

+2019/10/12 ver 5.83 exit(1)の除去

 2019/09/23 ver 5.82 monitorx, mwaitx, clzero対応 (thanks to MagurosanTeam)

 2019/09/14 ver 5.81 いくつかの一般命令をサポート

 2019/08/01 ver 5.802 AVX512_BF16判定修正 (thanks to vpirogov)

diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index 9f654f2..48f3efb 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -113,7 +113,7 @@
 
 enum {
 	DEFAULT_MAX_CODE_SIZE = 4096,
-	VERSION = 0x5820 /* 0xABCD = A.BC(D) */
+	VERSION = 0x5830 /* 0xABCD = A.BC(D) */
 };
 
 #ifndef MIE_INTEGER_TYPE_DEFINED
@@ -187,7 +187,7 @@
 	ERR_INVALID_RIP_IN_AUTO_GROW,
 	ERR_INVALID_MIB_ADDRESS,
 	ERR_X2APIC_IS_NOT_SUPPORTED,
-	ERR_INTERNAL, // last err
+	ERR_INTERNAL // Put it at last.
 };
 
 class Error : public std::exception {
@@ -196,8 +196,7 @@
 	explicit Error(int err) : err_(err)
 	{
 		if (err_ < 0 || err_ > ERR_INTERNAL) {
-			fprintf(stderr, "bad err=%d in Xbyak::Error\n", err_);
-			exit(1);
+			err_ = ERR_INTERNAL;
 		}
 	}
 	operator int() const { return err_; }
@@ -248,10 +247,11 @@
 			"invalid zero",
 			"invalid rip in AutoGrow",
 			"invalid mib address",
-			"internal error",
-			"x2APIC is not supported"
+			"x2APIC is not supported",
+			"internal error"
 		};
-		assert((size_t)err_ < sizeof(errTbl) / sizeof(*errTbl));
+		assert(err_ <= ERR_INTERNAL);
+		assert(ERR_INTERNAL + 1 == sizeof(errTbl) / sizeof(*errTbl));
 		return errTbl[err_];
 	}
 };
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index 1d45f58..308dbf6 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -1,4 +1,4 @@
-const char *getVersionString() const { return "5.82"; }
+const char *getVersionString() const { return "5.83"; }
 void adc(const Operand& op, uint32 imm) { opRM_I(op, imm, 0x10, 2); }
 void adc(const Operand& op1, const Operand& op2) { opRM_RM(op1, op2, 0x10); }
 void adcx(const Reg32e& reg, const Operand& op) { opGen(reg, op, 0xF6, 0x66, isREG32_REG32orMEM, NONE, 0x38); }
diff --git a/xbyak/xbyak_util.h b/xbyak/xbyak_util.h
index 04c661c..eefd152 100644
--- a/xbyak/xbyak_util.h
+++ b/xbyak/xbyak_util.h
@@ -704,12 +704,7 @@
 	~StackFrame()
 	{
 		if (!makeEpilog_) return;
-		try {
-			close();
-		} catch (std::exception& e) {
-			printf("ERR:StackFrame %s\n", e.what());
-			exit(1);
-		}
+		close();
 	}
 private:
 	const int *getOrderTbl() const