当前位置: 首页 > 知识库问答 >
问题:

当数字格式异常时,如何使用有问题的输入字符串打印自定义消息

司寇羽
2023-03-14

线程"main"中的异常java.lang.NumberFormatException:对于输入字符串:"a"

如何访问导致NumberFormatException以这种形式打印自定义错误消息的输入字符串:

try {
    /* some code which includes many Integer.parseInt(some_string); */
}
catch (NumberFormatException nfe) {
    System.out.println("This is not a number: " + input_string_which_causing_the_error);
}

那我应该得到:

这不是一个数字:a

共有3个答案

白迪
2023-03-14

它应该是直接的:

String some_string = "12";//retrieval logic
try {
    int num = Integer.parseInt(some_string);
} catch (NumberFormatException nfe) {
    System.out.println("This is not a number: " + some_string);
}
须景胜
2023-03-14

你可以试试这样的

    String input="abc"; // declare input such that visible to both try and catch
    try {
        int a = Integer.parseInt(input);
    } catch (NumberFormatException e) {
        System.out.println("This is not a number: " + input);
    }
喻元龙
2023-03-14

您可以从异常中提取它:

} catch (NumberFormatException e) {
    System.err.println(e.getMessage().replaceFirst(".*For input string: ", "This is not a number"));
}
 类似资料:
  • 我正在用一种形式做一个简单的插入。 no_text dbname_m_db 我想回去看看。所以我要做4个测试,它们是 测试1:插入no_text 测试2:插入no_text_external 测试3:不插入任何文本 测试4:不同时插入两个 所以结果是,只有test3是成功地查看它。而其他3返回错误号格式例外:对于输入字符串:""。我不知道过滤它的最佳方法。这里的代码,我的工作。任何想法?

  • 我有一张这样的地图 我可以得到分数作为整数以及"NA",所以我映射类型为字符串,但在发布数据到索引我得到数字格式异常。 例如: 如果我将第一个数据发布为整数,后跟“NA”。我得到了这些例外。 检查日志文件时,我发现以下错误: [2016-08-29 15:19:01]elasticlog.警告:响应[{\"错误\":{\"root_cause类型\":\"mapper_parsing_except

  • 我正试图通过使用以下方法来取消加密字符串,但遇到了异常。 我试图将我的加密字符串发送到下面的方法,但它不能得到Byte[],在将字符串转换为Byte[]时得到数字格式异常。 请建议。

  • 我在代码中使用熊猫,同时使用下面的代码处理一些数据帧: 我得到这个错误: Traceback(最近的调用最后): 文件“DIST\FDmanInfo.py”,第206行,在 文件“DIST\FDmanInfo.py”,主目录第191行 文件“\local\Python\lib\site packages\pandas\core\generic.py”,第3054行,在astype raise\u

  • 问题 你想通过 format() 函数和字符串方法使得一个对象能支持自定义的格式化。 解决方案 为了自定义字符串的格式化,我们需要在类上面定义 __format__() 方法。例如: _formats = { 'ymd' : '{d.year}-{d.month}-{d.day}', 'mdy' : '{d.month}/{d.day}/{d.year}', 'dmy' :

  • 问题内容: 目前,我仅显示键,每个键都在新行中显示: 如何在新行中将它们显示为 key :: value ? 问题答案: 通过迭代器,将生成一个键,值元组: 更新为现代符号: