일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- python
- 공부일지
- 코딩봉사
- programmers
- MYSQL
- 시나공
- softeer
- 코틀린
- 백준
- SQL
- SW봉사
- 회고
- 1과목
- 데이터베이스
- 자바
- 코딩교육봉사
- java
- CJ UNIT
- 파이썬
- 프로그래머스
- 소프티어
- 백준 알고리즘
- 스프링
- 알고리즘
- 정보처리산업기사
- BFS
- C++
- 문제풀이
- kotlin
- 백준알고리즘
Archives
- Today
- Total
JIE0025
[Error] 처리되지 않은 예외 발생(0x75EEA6E2, Project.exe): Microsoft C++ 예외: char, 메모리 위치 0x0053F710. 본문
기타 학습/Error
[Error] 처리되지 않은 예외 발생(0x75EEA6E2, Project.exe): Microsoft C++ 예외: char, 메모리 위치 0x0053F710.
sdoaolo 2021. 6. 1. 17:16728x90
visual studio에서 try-catch 관련 코드를 빌드했는데 다음과 같은 에러가 나왔다.
처리되지 않은 예외 발생(0x75EEA6E2, Project.exe): Microsoft C++ 예외: char, 메모리 위치 0x0053F710.
<에러난 코드>
#include <iostream>
using namespace std;
void func(int n){
try{
if(n >0)
throw "positive";
else if(n == 0)
throw "zero";
else
throw "negative";
}
catch (char * s){
cout << s << endl;
}
}
int main(){
func(5);
func(0);
func(-5);
cout << endl;
getchar();
return 0;
}
알아본 결과,
throw를 하는 값은 문자열 리터럴이고, catch하는 값은 <std::string> 형식이기 떄문에 발생한 문제이다.
<std::string>은 문자열 리터럴에서 구성될 수는 있지만, catch절에서 허용되지 않는다.
해결방법
catch 하는 값 형식에 const를 추가한다.
catch (const char * s){ } |
'기타 학습 > Error' 카테고리의 다른 글
[AWS] sudo apt update 에러 (AWS linux) (0) | 2023.06.19 |
---|---|
IntelliJ 프로젝트 디렉터리 안보일 때 해결 (Mac M1) (0) | 2023.06.18 |
[vue] vue create 시 yarn 에러 (Error: command failed: yarn ) (0) | 2022.04.15 |
Docker 도커 에러 Using default tag latest error during connect (3) | 2021.04.09 |