[JAVA] illegal escape character

หลังจากให้ Tools ตัวนึงปรากฏว่าได้ Code ในลักษณะแบบนี้

private String filename = "D:\BFMN\Workspace\LearnBPMN\src\main\resources\diagrams\Test.bpmn";

ซึ้งพอใช้คำสั่ง maven install แล้วเนี่ย ได้ Error มาเพียบเลยยย

[ERROR] /D:/BFMN/Workspace/LearnBPMN/src/test/java/org/activiti/designer/test/ProcessTestApproveBugetProcess.java:[18,39] illegal escape character
[ERROR] /D:/BFMN/Workspace/LearnBPMN/src/test/java/org/activiti/designer/test/ProcessTestApproveBugetProcess.java:[18,44] illegal escape character
[ERROR] /D:/BFMN/Workspace/LearnBPMN/src/test/java/org/activiti/designer/test/ProcessTestApproveBugetProcess.java:[18,54] illegal escape character
[ERROR] /D:/BFMN/Workspace/LearnBPMN/src/test/java/org/activiti/designer/test/ProcessTestApproveBugetProcess.java:[18,64] illegal escape character
[ERROR] /D:/BFMN/Workspace/LearnBPMN/src/test/java/org/activiti/designer/test/ProcessTestApproveBugetProcess.java:[18,68] illegal escape character
[ERROR] /D:/BFMN/Workspace/LearnBPMN/src/test/java/org/activiti/designer/test/ProcessTestApproveBugetProcess.java:[18,83] illegal escape character
[ERROR] /D:/BFMN/Workspace/LearnBPMN/src/test/java/org/activiti/designer/test/ProcessTestApproveBugetProcess.java:[18,92] illegal escape character

โดย illegal escape character มีสาเหตุเกิดจากการใช้ \ คู่กับ String บางตัว แล้วดันไปเข้ากับคำสั่งพิเศษใน String ของภาษา Java อาทิ เช่น

  • \t = tab
  • \n = newline
  • และตัวอื่นๆ อาทิ เช่น \U, \J, \D, \N, \x

สำหรับหาการแก้ไข - หลืกเลี่ยงสิ ไม่ใช่ \ ไปใช้สัญลักษณ์อื่นแทน ซึ่งมี 2 แบบ ได้แก่

  • โดยใช้ \\ แทน \ เช่น
private String filename = "D:\\BFMN\\Workspace\\LearnBPMN\\src\\main\\resources\\diagrams\\Test.bpmn";
  • หรือใช้ / แทน \ เช่น
private String filename = "D:/BFMN/Workspace/LearnBPMN/src/main/resources/diagrams/Test.bpmn";

Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.